<template>
 <view >
   <view v-for="(goods, i) in list" :key="i" class="goods_list" @click="gotoDetail(goods.goods_id)">
     <my-goods  :goods="goods" ></my-goods>
     <view v-if="finished">-----------已经到底了----------- </view>
   </view>
 </view>

</template>

<script>
	export default {
		data() {
			return {
				queryObj:{
          query:"", //关键字
          cid:'', //分类id
          pagenum:1, //页码
          pagesize:10 //每页数量
        },
        list:[], //商品列表
        finished:false, //是否结束
        loading:false  //是否加载中
			};
		},
    onLoad(options){
      if(options.cid) this.queryObj.cid=options.cid
      if(options.query) this.queryObj.query=options.query
      console.log(options);
      //获取数据列表
      this.getGoodList()
    },
    methods: {
      gotoDetail(val){
        uni.navigateTo({
          url:'/subpkg/goods_detail/goods_detail?goods_id='+val
        })
      },
      //商品列表
      async getGoodList() {
        this.loading=true  //开启节流阀
        //发送请求
        const{data:res} =await  uni.$http.get('/api/public/v1/goods/search',this.queryObj)
        //失败处理
        if(res.meta.status!==200){
          this.loading=false  //请求错误，也要关闭节流阀
           return uni.$showToast()
        }
        //数据处理
        //追加数据
        console.log(res);
        this.list=[...this.list,...res.message.goods]
        //是否结束
        if(res.message.goods.length < this.queryObj.pagesize){
          //结束了
          this.finished=true
        }else{
          //没有结束，页码加1
          this.queryObj.pagenum++
          //关闭节流阀
          this.loading = false
        }
      }
    },
    //上拉触底，加载更多数据
    onReachBottom(){
      //是否能加载数据，（节流阀关闭，依然还有数据）
      if(this.finished) return false //加载结束了
      if(this.loading) return false  //处于数据加载中
      //获取数据列表
      this.getGoodList()
    },
   async onPullDownRefresh(){
      this.queryObj.pagenum=1
      this.list=[]
      this.finished=this.loading=false
      //获取数据
      await this.getGoodList()
      uni.stopPullDownRefresh()
    },
    
	}
</script>

<style lang="scss">

</style>
